1. Technical Field
This disclosure generally relates to constraint solvers. More specifically, this disclosure relates to methods and apparatuses for performing implication and decision making using multiple value systems during constraint solving.
2. Related Art
The importance of circuit verification cannot be over-emphasized. Indeed, without circuit verification it would be almost impossible to design complicated integrated circuits which are commonly found in today's computing devices.
As an alternative to directed-test based simulation, constrained random simulation methodologies are becoming increasingly popular for functional verification of complex designs. In a constrained random simulation methodology, random vectors are generated to satisfy certain operating constraints of the design. These constraints are usually specified as part of a test-bench program. A test-bench automation tool (TBA) uses the test-bench program to generate random solutions for a set of random variables, such that a set of constraints over the set of random variables is satisfied. These random solutions can then be used to generate valid random stimulus for the Design Under Verification (DUV). This stimulus is simulated using simulation tools, and the results of the simulation are typically examined within the test-bench program to monitor functional coverage, thereby providing a measure of confidence on the verification quality and completeness.
Constraint solvers are typically used to generate random vectors that satisfy the set of constraints. The basic functionality of a constraint solver is to solve the following constraint satisfaction problem: given a set of random variables and a set of constraints, assign a set of random values to the set of random variables that satisfy the set of constraints.
Conventional word-level constraint solvers can have poor performance if the constraints include bit-level operators. It is generally desirable to improve performance of constraint solvers because it can significantly improve the overall performance of constrained random simulation tools.